package com.sg.dto.biz.app.req;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @desc ImplementPrivatizationArrangeEmpowerAvailableComReqDto
 * @使用场景
 */
@Data
public class ImplementPrivatizationArrangeEmpowerAvailableComReqDto
        extends BaseDto
        implements Serializable {

    /**
     * 开通钥匙ID
     */
    @NotNull(message = "开通钥匙ID不能为空")
    @ApiModelProperty("开通钥匙ID")
    private String schOpenRecordId;

    /**
     * 开通对象类型编码 TENANT_SPACE:租户空间 ORG:组织 EVA_THEME:评价主题 EVA_TEMP:评价模板 PLATFORM:平台
     */
    @NotNull(message = "开通对象类型编码不能为空")
    @ApiModelProperty("开通对象类型编码")
    private String resultAspObjType;

    /**
     * 开通对象ID
     */
    @ApiModelProperty("开通对象ID")
    private String resultAspObjId;

    /**
     * 授权类型 CYCLE_TIME:周期时间型 FIXED_TIME:固定时间型 QUANTITY:数量型
     */
    @NotNull(message = "授权类型不能为空")
    @ApiModelProperty("授权类型")
    private String authType;

    /**
     * 剩余授权数
     */
    @ApiModelProperty("剩余授权数")
    private Long remainingQty;

    /**
     * 结束时间
     */
    @ApiModelProperty("结束时间")
    private Date endTime;

    /**
     * 归属空间ID
     */
    @NotNull(message = "归属空间ID不能为空")
    @ApiModelProperty("归属空间ID")
    private String ascriptionSpaceId;

}
